pyenv-virtualenv で python3.7 Suite2p 0.9.0 を使う
Aim
pyenv で CONFIGURE_OPTS="--enable-shared" で python を install すると python や pip がダイナミックに
変更されてしまって,2つのバージョンで "--enable-shared" してしまうと site-package が共通になって意味ない.
結局 デフォルトの python を 3.6.5 → 3.7.7 に update した.
注意)pipenv での管理の方がモダンかもしれないが,pipenv install では mkl_fft のソースビルドができなかった
Materials
pyenv ← brew install pyenv
pyenv-virtualenv ← brew install pyenv-virtualenv
.zshrc に pyenv, pyenv-virtualenv の設定を
code:zshrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if which pyenv > /dev/null; then
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
fi
tkinter
pyenv で install した python だと tkinter がうまく import できない場合があるので下記を参考
3.7.7 を install,複数の python で --enable-shared すると pip, python が共有されて,site-packages がかぶる?
code:setting.sh
CONFIGURE_OPTS="--enable-shared" pyenv install 3.7.7
pyenv rehash #pyenv で変更した場合は rehash する. MKL を intelのサイトからダウンロード(要登録) 2020 update2 みたいなやつをインストール ライブラリを設定
code:.zshrc
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/intel/mkl/lib/"
code:setting.sh
source /opt/intel/compilers_and_libraries_2020.2.258/mac/mkl/bin/mklvars.sh intel64
#実際に mkl ライブラリの install 場所にしたがって mklvars.sh のパスで. Methods
pyenv-virtualenv の環境設定
環境用のフォルダ(例えば,~/Documents/python/Env_s2p/ を作って cd で移動
code:make_env.sh
mkdir ~/Documents/python/Env_s2p/ #Suite2P 用の環境を作るフォルダ cd ~/Documents/python/Env_s2p/
pyenv local 3.7.7 #python の設定(system の python は使わないが明示 pyenv version #すると,s2p system, 3.7.7 の他に,3.7.7/envs/s2p と s2p ができてれば OK # Env_s2p フォルダに移動したら,勝手に(s2p) 環境で python が実行できる.
pip でパッケージのインストール
code:s2p_pip.sh
pip install -U pip #pip のバージョン update pip install numba scipy h5py matplotlib scikit-learn
pip install mkl PyQt5 Cython numpy suite2p
pip install rastermap pyqtgraph scanimage-tiff-reader tifffile natsort
pip install importlib_metadata paramiko
# mkl_fft はソースから
python -m pip install /Users/lattice/Downloads/mkl_fft-master/mkl_fft #直接ソースから mkl_fft のインストールの確認
MKL がインストールされて ライブラリが指定されていればそのまま入るはずだが import でエラー出る場合
code:setting.sh
install_name_tool -add_rpath /opt/intel/mkl/lib /Users/lattice/.pyenv/versions/s2p/lib/python3.7/site-packages/mkl_fft/_pydfti.cpython-37m-darwin.so
install_name_tool -add_rpath /opt/intel/mkl/lib /Users/lattice/.pyenv/versions/s2p_latest/lib/python3.7/site-packages/mkl_fft/_pydfti.cpython-37m-darwin.so
#.so ファイルは error がでた .so イメージに適宜変更 うまく入っていれば,python -m suite2p で Suite2p の GUI が起動するはず.
Remarks
Date :2020/8/27
Modified Date :2020/8/31
Author :lattice.icon